package org.yscz.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.yscz.entity.Record;
import org.yscz.entity.vo.RecordVo;

import java.util.List;
import java.util.Map;

/**
 * @program: pe
 * @description: 测评记录表 Mapper接口
 * @author: muqs
 * @create: 2021-08-24 10:35
 **/
public interface RecordMapper extends BaseMapper<Record> {

    /**
     * 根据被测人ID查询测评记录信息
     *
     * @param testeeId 被测人ID
     * @param status   测评记录状态 0-未完成 1-已完成
     * @return RecordVo 测评记录
     */
    List<RecordVo> queryRecordDetail(@Param(value = "testeeId") Long testeeId, @Param(value = "status") Integer status);

    /**
     * 查询被测人ID上次测评记录信息
     *
     * @param condition 查询条件
     * @return RecordVo 测评记录
     */
    RecordVo queryPreviousRecordInfo(@Param(value = "condition") Map condition);

    /**
     * 询测评记录信息列表（分页）
     *
     * @param page      分页参数
     * @param condition 查询条件
     * @return List<RecordVo> 测评记录
     */
    IPage<RecordVo> listPageByCondition(IPage<RecordVo> page, @Param(value = "condition") Map condition);

    /**
     * 根据被测人ID查询测评记录信息
     *
     * @param recordId 被测人ID
     * @return RecordVo 测评记录
     */
    RecordVo queryRecordDetailById(@Param(value = "recordId") Long recordId);
}
